<template>
  <ul>
    <li :style="{ opacity }">欢迎学习Vue</li>
    <li>news001 <input type="text" /></li>
    <li>news002 <input type="text" /></li>
    <li>news003 <input type="text" /></li>
  </ul>
</template>

<script>
export default {
  name: "News",
  data() {
    return {
      opacity: 1,
    };
  },

  //#region
  /*
	该生命周期函数在缓存的时候，不会调用这两个函数，定时器就会一直工作，就会浪费客户端资源，就引入了下面两个函数：
   activated 和 deactivated两个函数，在激活或失活的情况下执行
	 注意，这两个生命周期函数只是适用于路由组件，并且该组件被缓存，即被keep-alive包括缓存
  beforeDestroy() {
    console.log("News组件即将被销毁了");
    clearInterval(this.timer);
  },
  mounted() {
    this.timer = setInterval(() => {
      console.log("@");
      this.opacity -= 0.01;
      if (this.opacity <= 0) this.opacity = 1;
    }, 16);
  },
	*/
  //#endregion

  activated() {
    console.log("News组件被激活了");
    this.timer = setInterval(() => {
      console.log("@");
      this.opacity -= 0.01;
      if (this.opacity <= 0) this.opacity = 1;
    }, 16);
  },
  deactivated() {
    console.log("News组件失活了");
    clearInterval(this.timer);
  },
};
</script>